package com.vates.reservas.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.vates.reservas.dao.ClienteDAO;
import com.vates.reservas.dominio.Cliente;
import com.vates.reservas.service.ClienteService;

@Component(value="clienteService")
public class ClienteServiceImpl implements ClienteService {

	@Autowired
	private ClienteDAO clienteDao;

	public void setClienteDAO(ClienteDAO clienteDAO) {
		this.clienteDao = clienteDAO;
	}

	public void alta(String nombre, String nif, String domicilio,
			String localidad, String provincia, String codigoPostal) {
		Cliente cliente = new Cliente();
		cliente.setNombre(nombre);
		cliente.setNif(nif);
		cliente.setDomicilio(domicilio);
		cliente.setLocalidad(localidad);
		cliente.setProvincia(provincia);
		cliente.setCodigoPostal(codigoPostal);
		clienteDao.nuevo(cliente);

	}

	@Override
	public Cliente busquedaPorId(long id) {
		return clienteDao.busquedaPorId(id);
	}

	@Override
	public List<Cliente> busquedaPorNombre(String nombre) {
		return clienteDao.busquedaPorNombre(nombre);

	}

	@Override
	public void eliminar(long id) {
		Cliente cliente = clienteDao.busquedaPorId(id);
		clienteDao.eliminar(cliente);

	}

	@Override
	public List<Cliente> listadoClientes() {
		return clienteDao.listado();
	}

	@Override
	public void editar(long id, String nombre, String nif, String domicilio,
			String localidad, String provincia, String codigoPostal) {
		Cliente cliente = clienteDao.busquedaPorId(id);
		cliente.setNombre(nombre);
		System.out.println("Cliente en Service: "+cliente.getNombre());
		cliente.setNif(nif);
		cliente.setDomicilio(domicilio);
		cliente.setLocalidad(localidad);
		cliente.setProvincia(provincia);
		cliente.setCodigoPostal(codigoPostal);
		clienteDao.modificar(cliente);

	}

}
